package com.badibadi.activity;

import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import cn.sharesdk.facebook.Facebook;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.framework.utils.UIHandler;
import cn.sharesdk.onekeyshare.OnekeyShare;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.sina.weibo.SinaWeibo.ShareParams;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.tencent.qzone.QZone;
import cn.sharesdk.wechat.friends.Wechat;

import com.badibadi.infos.AreaModel;
import com.badibadi.infos.Results;
import com.badibadi.infos.Users;
import com.badibadi.mytools.Constants;
import com.badibadi.mytools.ShareSDKTools;
import com.badibadi.mytools.Utils;
import com.badibadi.uniclubber.R;
import com.badibadi.uniclubber.R.layout;
import com.badibadi.uniclubber.R.menu;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

//参考api：http://wiki.mob.com/Android_社交平台任意API调用 button6
public class FenXiangActivity extends BaseActivity {
	// private QQShare mQQShare = null;

	HashMap<String, Object> UserData;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
//		android4Detail();
		ShareSDK.initSDK(FenXiangActivity.this);
		UserData = new HashMap<String, Object>();
		setContentView(R.layout.activity_fen_xiang);
		
		this.findViewById(R.id.imageView1).setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
      
				
			}
		});
		
//		  Map<String, Object> map = new HashMap<String, Object>();
//			
//			String content = Utils.sendRequest(map, Constants.BadiUrl
//					+ "verify");
//			if(content!=null)
//			{
//				   
//			}
//			if (content != null) {
//				//    ("结果是:" + content);
////				Results results = Utils.checkResult_NNN(
////						getApplicationContext(), content);
////				if (results != null && results.getRetmsg() != null) {
//////					    ("得到的结果是：" + results.getRetmsg());
////					try {
////						
////					} catch (JSONException e) {
////						   ("解析出错");
////						   
////					}
////				}
////			} else {
//////				handler.sendEmptyMessage(2);
//			}
		// 分享到QQ空间
		this.findViewById(R.id.button1).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub

						ShareParams sp = new ShareParams();
						sp.setTitle("测试分享的标题");
						sp.setTitleUrl("http://sharesdk.cn"); // 标题的超链接
						sp.setText("测试分享的文本");
						sp.setImageUrl("http://www.someserver.com/测试图片网络地址.jpg");
						sp.setSite("发布分享的网站名称");
						sp.setSiteUrl("发布分享网站的地址");
						Platform qzone = ShareSDK.getPlatform(
								FenXiangActivity.this, QZone.NAME);
						qzone.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform arg0, int arg1,
									Throwable arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onComplete(Platform platform,
									int action, HashMap<String, Object> res) {
								// TODO Auto-generated method stub
//								   
								// if (action == Platform.ACTION_SHARE) {
								// //
								// UIHandler.sendEmptyMessage(MSG_AUTH_COMPLETE,
								// this);
								//    
								// // login(platform.getName(),
								// platform.getDb().getUserId(), res);
								// UserData = res;
								// if (platform.getName().equals("QZone")) {
								// int b = platform.getId();
								//    
								// res.get("nickname"));
								//    
								// }
								// }
							}

							@Override
							public void onCancel(Platform arg0, int arg1) {
								// TODO Auto-generated method stub

							}
						}); // 设置分享事件回调
						// 执行图文分享
						qzone.share(sp);
					}
				});
		// 分享到新浪微博
		this.findViewById(R.id.button2).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						ShareParams sp = new ShareParams();
						sp.setText("测试分享的文本");
						sp.setImagePath("/mnt/sdcard/测试分享的图片.jpg");

						Platform weibo = ShareSDK.getPlatform(
								FenXiangActivity.this, SinaWeibo.NAME);
						weibo.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform arg0, int arg1,
									Throwable arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onComplete(Platform arg0, int arg1,
									HashMap<String, Object> arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onCancel(Platform arg0, int arg1) {
								// TODO Auto-generated method stub

							}
						}); // 设置分享事件回调
						// 执行图文分享
						weibo.share(sp);
					}
				});

		// 分享到QQ
		this.findViewById(R.id.button3).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						ShareParams sp = new ShareParams();
						sp.setText("测试分享的文本");
						sp.setTitle("分享的内容");
						sp.setImageUrl("http://d.lanrentuku.com/down/png/0904/Mammoth_Icons/Mammooth.png");
						// sp.setUrl("http://www.baidu.com");
						// 这才是分享过去的链接，用户点击他后进入链接
						sp.setTitleUrl("http://www.soso.com");
						Platform qq = ShareSDK.getPlatform(
								FenXiangActivity.this, QQ.NAME);
						qq.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform arg0, int arg1,
									Throwable arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onComplete(Platform arg0, int arg1,
									HashMap<String, Object> arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onCancel(Platform arg0, int arg1) {
								// TODO Auto-generated method stub

							}
						}); // 设置分享事件回调
						// 执行图文分享
						qq.share(sp);
					}
				});

		// 分享到Facebook
		this.findViewById(R.id.button4).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						ShareParams sp = new ShareParams();
						sp.setText("测试分享的文本");
						sp.setTitle("分享的内容");
						sp.setImageUrl("http://d.lanrentuku.com/down/png/0904/Mammoth_Icons/Mammooth.png");
						// sp.setUrl("http://www.baidu.com");
						// 这才是分享过去的链接，用户点击他后进入链接
						sp.setTitleUrl("http://www.soso.com");
						Platform qq = ShareSDK.getPlatform(
								FenXiangActivity.this, Facebook.NAME);
						qq.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform arg0, int arg1,
									Throwable arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onComplete(Platform arg0, int arg1,
									HashMap<String, Object> arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onCancel(Platform arg0, int arg1) {
								// TODO Auto-generated method stub

							}
						}); // 设置分享事件回调
						// 执行图文分享
						qq.share(sp);
					}
				});

		// 分享到微信
		this.findViewById(R.id.button5).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						ShareParams sp = new ShareParams();
						sp.setText("测试分享的文本");
						sp.setTitle("分享的内容");
						sp.setImageUrl("http://d.lanrentuku.com/down/png/0904/Mammoth_Icons/Mammooth.png");
						// sp.setUrl("http://www.baidu.com");
						// 这才是分享过去的链接，用户点击他后进入链接
						sp.setTitleUrl("http://www.soso.com");
						Platform wechat = ShareSDK.getPlatform(
								FenXiangActivity.this, Wechat.NAME);
						wechat.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform arg0, int arg1,
									Throwable arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onComplete(Platform arg0, int arg1,
									HashMap<String, Object> arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onCancel(Platform arg0, int arg1) {
								// TODO Auto-generated method stub

							}
						}); // 设置分享事件回调
						// 执行图文分享
						wechat.share(sp);
					}
				});
		// 一键分享OnKeyShare
		this.findViewById(R.id.button6).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						
//						ShareSDKTools.ShowOneKeyShare(FenXiangActivity.this, "你好", "nihao", "http://www.soso.com","http://d.lanrentuku.com/down/png/0904/Mammoth_Icons/Mammooth.png", null, null, null, null);
					}
				});
		// 新浪的授权操作
		this.findViewById(R.id.button7).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						Platform sinaweibo = ShareSDK.getPlatform(
								FenXiangActivity.this, SinaWeibo.NAME);
						if (sinaweibo.isValid()) {
							// 如果已经授权了，登录
							Toast.makeText(getApplicationContext(), "已经授权了", 0)
									.show();
							return;
						}

						Platform weibo = ShareSDK.getPlatform(
								FenXiangActivity.this, SinaWeibo.NAME);
						weibo.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform platform, int arg1,
									Throwable arg2) {
								// TODO Auto-generated method stub

							}

							@Override
							public void onComplete(Platform platform,
									int action, HashMap<String, Object> map) {
								// TODO Auto-generated method stub

//								   

								// 由于ShareSDK所有的授权数据都存在PlatformDb中，
								// 所以“用户是否”授权，和“取消授权（清除授权信息）”的
								// 操作依据其实PlatformDb。在ShareSDK中，
								// 判断此平台是否授权的方法是isValid，而取消授权的方法是removeAccount，
								// 下面的代码演示客户端判断是否已经授权，如果授权就删除授权资料，否则就执行授权：

								// Platform qzone = ShareSDK.getPlatform(this,
								// QZone.NAME);
								// If (qzone.isValid ()) {
								// qzone.removeAccount();
								// }
								// qzone.setPlatformActionListener(paListener);
								// qzone.authorize();

								// isValid和removeAccount不开启线程，会直接返回。

							}

							@Override
							public void onCancel(Platform arg0, int arg1) {
								// TODO Auto-generated method stub

							}
						});
						weibo.authorize();
						// 移除授权
						// weibo.removeAccount();
					}
				});
		// 新浪的授权操作后获取数据
		this.findViewById(R.id.button8).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
						// ShareSDK将每一个平台的授权数据都缓存在SharedPreferences中，并且相互独立。如果您希望获取任何一个平台的授权数据，可以像下面这样子做：
						Platform qzone = ShareSDK.getPlatform(
								FenXiangActivity.this, SinaWeibo.NAME);
						String accessToken = qzone.getDb().getToken(); // 获取授权token
						String openId = qzone.getDb().getUserId(); // 获取用户在此平台的ID
						String nickname = qzone.getDb().get("nickname"); // 获取用户昵称
//						   
//								+ "openId=>" + openId + "/" + "nickname=>"
//								+ nickname);
					}
				});

		// 九宫格中添加自定义图标
		this.findViewById(R.id.button9).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub
//						PlatformGridView t = new PlatformGridView(
//								FenXiangActivity.this);
						final OnekeyShare oks = new OnekeyShare();
						// 参考代码配置章节，设置分享参数
						oks.setNotification(R.drawable.icon,
								getString(R.string.app_name));
						// 关闭sso授权
						oks.disableSSOWhenAuthorize();

						// 分享时Notification的图标和文字
						oks.setNotification(R.drawable.ic_launcher,
								getResources().getString(R.string.app_name));
						// title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
						oks.setTitle(getResources().getString(R.string.share));
						// titleUrl是标题的网络链接，仅在人人网和QQ空间使用
						oks.setTitleUrl("http://sharesdk.cn");
						// text是分享文本，所有平台都需要这个字段
						oks.setText("我是分享文本");
						// imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
						oks.setImagePath("/sdcard/test.jpg");
						// url仅在微信（包括好友和朋友圈）中使用
						oks.setUrl("http://sharesdk.cn");
						// comment是我对这条分享的评论，仅在人人网和QQ空间使用
						oks.setComment("我是测试评论文本");
						// site是分享此内容的网站名称，仅在QQ空间使用
						oks.setSite(getResources().getString(R.string.app_name));
						// siteUrl是分享此内容的网站地址，仅在QQ空间使用
						oks.setSiteUrl("http://sharesdk.cn");
						// 构造一个图标
						Bitmap logo = BitmapFactory.decodeResource(
								getResources(), R.drawable.icon);
						// 定义图标的标签
						String label = getResources().getString(
								R.string.app_name);
						// 图标点击后会通过Toast提示消息
						OnClickListener listener = new OnClickListener() {
							public void onClick(View v) {
								Toast.makeText(FenXiangActivity.this, "Hello",
										Toast.LENGTH_SHORT).show();
//								oks.finish();
							}
						};
//						oks.setCustomerLogo(logo, label, listener);
						oks.show(FenXiangActivity.this);

//						ShareSDKTools.ShowOneKeyShare(getApplicationContext(),"测试标题","测试内容","http://www.soso.com","http://d.lanrentuku.com/down/png/0904/Mammoth_Icons/Mammooth.png", null, null, null, null);
					}
				});
		// 新浪微博获取好友列表
		this.findViewById(R.id.button10).setOnClickListener(
				new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						// TODO Auto-generated method stub

						SinaWeibo weibo = new SinaWeibo(v.getContext());
						weibo.setPlatformActionListener(new PlatformActionListener() {

							@Override
							public void onError(Platform weibo, int action,
									Throwable t) {
								// TODO Auto-generated method stub
								if (action == Platform.ACTION_GETTING_FRIEND_LIST) {
									// 在这里处理获取关注列表失败的代码
								}
							}

							@Override
							public void onComplete(Platform weibo, int action,
									HashMap<String, Object> res) {
								// TODO Auto-generated method stub
								if (action == Platform.ACTION_GETTING_FRIEND_LIST) {
									// 在这里处理获取关注列表成功的代码
//									    
									// (res.get("users")));

									
								}
							}

							@Override
							public void onCancel(Platform weibo, int action) {
								// TODO Auto-generated method stub
								if (action == Platform.ACTION_GETTING_FRIEND_LIST) {
									// 在这里处理取消获取关注列表的代码

								}
							}
						});
						weibo.listFriend(2, 0, null); // 获取授权账号的列表则传递null
					}
				});

	}

	private void jiexi(Map<String, Object> content) throws JSONException {
		JSONObject objectmain = new JSONObject(content);

		JSONArray array = new JSONArray(Utils.JSONTokener(objectmain
				.getString("users")));
		// for (int i = 0; i < array.length(); i++) {
		// JSONObject object = array.getJSONObject(i);
		// String sdf = object.getString("name");
		//    
		// }

	}
//
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		ShareSDK.stopSDK(this);
		super.onDestroy();

	}
//
//	@Override
//	public boolean onCreateOptionsMenu(Menu menu) {
//		// Inflate the menu; this adds items to the action bar if it is present.
//		getMenuInflater().inflate(R.menu.fen_xiang, menu);
//		return true;
//	}

	private void showShare() {
		ShareSDK.initSDK(this);
		OnekeyShare oks = new OnekeyShare();
		// 关闭sso授权
		oks.disableSSOWhenAuthorize();

		// 分享时Notification的图标和文字
		oks.setNotification(R.drawable.ic_launcher,
				getString(R.string.app_name));
		// title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
		oks.setTitle(getString(R.string.share));
		// titleUrl是标题的网络链接，仅在人人网和QQ空间使用
		oks.setTitleUrl("http://sharesdk.cn");
		// text是分享文本，所有平台都需要这个字段
		oks.setText("我是分享文本");
		// imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
		oks.setImagePath("/sdcard/test.jpg");
		// url仅在微信（包括好友和朋友圈）中使用
		oks.setUrl("http://sharesdk.cn");
		// comment是我对这条分享的评论，仅在人人网和QQ空间使用
		oks.setComment("我是测试评论文本");
		// site是分享此内容的网站名称，仅在QQ空间使用
		oks.setSite(getString(R.string.app_name));
		// siteUrl是分享此内容的网站地址，仅在QQ空间使用
		oks.setSiteUrl("http://sharesdk.cn");

		// 启动分享GUI
		oks.show(this);
	}

}
